
// function charParse(char) {
//     let res
//     var resStr = /^\"\"$/g;
//     var resObj = /^\{\}$/g;
//     if (char === 'null') {
//         res = null
//     } else if (['true', 'false'].includes(char)) {
//         res = 'true' === char
//     } else if (resStr.test(char)) {
//         console.log('hello', char)
//         res = char
//     } else if (resObj.test(char)) {
//         //
//     } else {
//         res = Number(char)
//     }
//     return res
// }


function jsonParse(jsonStr) {
   return eval("(" + jsonStr + ")");
}

// function jsonParse(jsonStr) {
//    return new Function("return" + jsonStr);
// }

const jsonData = {a: { b: { c: 1}}};
const jsonStr = JSON.stringify(jsonData);

console.log(Object.prototype.toString.call(JSON.parse(jsonStr)))
console.log(Object.prototype.toString.call(jsonParse(jsonStr)))

// function test1() {
//     var data = ['null', 'false', '1', '"1"', '[1,2,3]', '{}']
//     for (let i of data) {
//         console.log(charParse(i))
//     }
// }

// test1()